package exam.common.util;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * <p>CharsetFilter</p>
 * <p>Class thiết lập encoding="UTF-8"</p>
 * @author PHONGTN
 * @version 20/4/2012
 */
public class CharsetFilter implements Filter {
	// encoding
	private String encoding;   
	/**
	 * init
	 */
	public void init(FilterConfig config) throws ServletException {
		encoding = config.getInitParameter("requestEncoding");
		if( encoding==null ) encoding="UTF-8";
	}
	/**
	 * doFilter
	 */
	public void doFilter(ServletRequest request, ServletResponse response, FilterChain  next)
			throws IOException, ServletException {
		// Respect the client-specified character encoding
		// (see HTTP specification section 3.4.1)
		if(null == request.getCharacterEncoding())
			request.setCharacterEncoding(encoding);
		/** * Set the default response content type and encoding */
		response.setContentType("text/html; charset=UTF-8");
		response.setCharacterEncoding("UTF-8");
		next.doFilter(request, response);
	}
 
	@Override
	public void destroy() {}
}